An organization may have an information technology (IT) or another compute system that may have a service installed at multiple geographic sites. All information from the service should be made available to users at each site, but due to network latency, it is not practical for all users to access the service in a single location. Hence, users in each location access a local instance of the service. As each instance of the service must be able to provide the same information, the configurations of all instances of the service at the multiple geographic sites need to be synchronized between every instance.
Various existing solutions handle this type of problem at the persistence level, relying on a low-level data storage mechanism to replicate any configuration changes once the application has made them. However, implementing such an approach in an existing service would require comprehensive changes to any functionality which modifies configuration. For example, each individual Representational State Transfer (REST) call in a service would need to be updated so that it submits changes made to specific objects into a synchronization system.